در این فصل با مفاهیم پایه شبکه، پیکربندی، عیبیابی و تنظیم DNS در لینوکس آشنا میشوید. این مبانی برای هر مدیر سیستمی که با سرورها و شبکه سروکار دارد، حیاتی است.
هدف شبکه: انتقال داده بین کامپیوترها. این انتقال به صورت لایهبهلایه انجام میشود. هر لایه فقط با لایههای بالا و پایین خود ارتباط دارد و از جزئیات لایههای دیگر بیخبر است (اصل کپسولهسازی و انتزاع).
مدل OSI (Open Systems Interconnection) توسط ISO ارائه شده و شامل ۷ لایه زیر است (از پایین به بالا):
| لایه | وظیفه اصلی | پروتکلها / مفاهیم |
|---|---|---|
| ۱. فیزیکی | انتقال سیگنالهای خام (بیت) روی رسانه | کابل، فیبر، امواج رادیویی، پالسهای الکتریکی |
| ۲. پیوند داده | انتقال قاب (Frame) بین دو گره مجاور، تشخیص خطا | MAC address, Ethernet, Switch, ARP |
| ۳. شبکه | مسیریابی و ارسال بسته (Packet) بین شبکههای مختلف | IP (IPv4, IPv6), Router, ICMP |
| ۴. انتقال | ارسال مطمئن یا سریع داده بین دو نقطه انتهایی | TCP (مطمئن), UDP (سریع), پورتها |
| ۵. جلسه | برقراری، مدیریت و قطع ارتباط (سشن) | Socket, NetBIOS, RPC |
| ۶. نمایش | قالببندی داده، رمزگذاری، فشردهسازی | SSL/TLS, JPEG, MPEG, ASCII |
| ۷. کاربرد | ارتباط با برنامههای کاربردی و کاربر نهایی | HTTP, HTTPS, SSH, FTP, SMTP, DNS, DHCP |
مدل TCP/IP که مبنای اینترنت است، ۴ لایه دارد (از پایین به بالا):
در هر لایه، یک هدر (Header) به داده اضافه میشود که شامل اطلاعات کنترلی آن لایه است. به این فرآیند کپسولهسازی میگویند. در سمت گیرنده، هر لایه هدر مربوط به خود را برداشته و داده را به لایه بالایی تحویل میدهد.
192.168.1.1). شامل بخش شبکه و بخش میزبان (با کمک Netmask).2001:0db8::1). دو نوع اصلی: fe80:: (Link Local) و 2000:: (Global).10.0.0.0/8، 172.16.0.0/12، 192.168.0.0/16.| پروتکل | ویژگیها | کاربرد |
|---|---|---|
| TCP | اتصالگرا، مطمئن، تأیید دریافت، کنترل ازدحام | HTTP, HTTPS, SSH, FTP, SMTP |
| UDP | بدون اتصال، سریع، بدون تأیید، بدون کنترل ازدحام | DNS, DHCP, NTP, VoIP, Streaming |
| پورت | پروتکل | سرویس |
|---|---|---|
| ۲۰, ۲۱ | TCP | FTP |
| ۲۲ | TCP | SSH |
| ۲۳ | TCP | Telnet (ناامن) |
| ۲۵ | TCP | SMTP |
| ۵۳ | TCP/UDP | DNS |
| ۸۰ | TCP | HTTP |
| ۱۱۰ | TCP | POP3 |
| ۱۲۳ | UDP | NTP |
| ۱۴۳ | TCP | IMAP |
| ۴۴۳ | TCP | HTTPS |
| توزیع | محل فایل |
|---|---|
| دبیان / اوبونتو / کالی | /etc/network/interfaces |
| رد هت / الما / سنتاواس | /etc/sysconfig/network-scripts/ifcfg-* |
/etc/network/interfaces و در رد هت از /etc/sysconfig/network-scripts/ifcfg-* استفاده میشود.nmtui و nmclinmtui: محیط متنی تعاملی (منوهای گرافیکی در ترمینال).nmcli: ابزار خط فرمان قدرتمند.sudo systemctl restart NetworkManager.ifconfig، iwconfig، route جای خود را به ip، iw و nmcli دادهاند.
pingping -c N برای محدود کردن تعداد بستهها. اگر پاسخ نیاید، اتصال یا فایروال مشکل دارد.tracepath و mtrtracepath: ساده، نیازی به root ندارد، مسیر را نشان میدهد.mtr: ترکیب ping و traceroute با آمار لحظهای (درصد از دست رفتن، زمان پاسخ) — دقیقتر.mtr دقیقتر از tracepath است و آمار لحظهای ارائه میدهد.nslookup، host، dignslookup و host: ساده و سریع.dig: پیشرفته و کاملترین (نمایش جزئیات رکوردها، TTL و ...).netstat (قدیمی) و ss (مدرن)-t (TCP)، -u (UDP)، -l (گوشدهنده)، -p (PID و نام برنامه)، -n (عددی).ss جایگزین مدرن netstat است و سریعتر اطلاعات را نمایش میدهد.nc (Netcat)iftop/etc/resolv.conf/etc/resolv.conf ممکن است موقت باشند و پس از ریبوت یا راهاندازی مجدد سرویس از بین بروند.
systemd-resolved (دائمی)sudo systemctl enable --now systemd-resolved/etc/systemd/resolved.conf.d/dns_servers.confsudo systemctl restart systemd-resolvedresolvectl statussudo nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4" و سپس sudo nmcli con down eth0 && sudo nmcli con up eth0.| ویژگی | روش سنتی (resolv.conf) | روش مدرن (systemd-resolved) |
|---|---|---|
| دائمی بودن | ❌ موقت (در بیشتر سیستمها) | ✅ دائمی |
| مدیریت خودکار | ❌ خیر | ✅ بله (با systemd) |
| پشتیبانی از چندین رابط | ❌ خیر | ✅ بله (با resolvectl) |
| سادگی | ✅ بسیار ساده | ⚡ کمی پیچیدهتر |
| توصیه در سیستمهای مدرن | ❌ خیر | ✅ بله |
/etc/network/interfaces)، رد هت (/etc/sysconfig/network-scripts/ifcfg-*).nmtui (متنمحور) و nmcli (خط فرمان).ping (اتصال)، tracepath/mtr (مسیر)، dig (DNS)، ss (اتصالات)، nc (پورت)، iftop (پهنای باند)./etc/resolv.conf) و روش مدرن (systemd-resolved + resolvectl).ip addr show و nmcli device status وضعیت شبکه خود را بررسی کنید.ping -c 4 google.com اتصال اینترنت را تست کنید.tracepath ya3in.ir و mtr ya3in.ir مسیر را مشاهده کنید.dig google.com آدرس IP گوگل را پیدا کنید.ss -tulpn پورتهای باز سیستم را ببینید.nc -zv google.com 80 پورت ۸۰ گوگل را تست کنید.nmtui یا nmcli تنظیم کنید.resolvectl status DNS فعلی را بررسی و در صورت نیاز تغییر دهید./etc/network/interfaces یا /etc/sysconfig/network-scripts/ifcfg-* را بخوانید و ساختار آنها را تحلیل کنید.